Computerized file systems are used to store and organize electronic data. A synchronizing application may enable an electronic object such as a file of any type stored in a computerized file system to be shared and updated among multiple computing devices or endpoints that are remote from each other. A shared file is stored on the multiple computing devices or endpoints that are remote from each other. Remote in this context means separate devices. The synchronizing application may monitor shared files for updates to any of the files being shared at any of the computing devices and synchronize the shared files to maintain consistency between the shared files across each of the multiple computing devices.
The shared files can be hierarchically organized, for example, using a file folder system where each folder can contain files and/or other folders. The folder can be referred to as a synchronized folder because it contains a hierarchy of files and folders that are shared across the multiple computing devices and for which synchronization is maintained. The hierarchy of files and folders is also shared across the multiple computing devices. After initial setup, the synchronized folder exists at each of the multiple computing devices and changes to the synchronized folder and any files it contains at any of the multiple computing devices results in a corresponding and consistent change at the other computing devices. Thus, multiple copies or instances of the synchronized folder exist, each located on a different computing device. When a change is made to any of the instances of the synchronized folder, the change is reflected to each of the other copies/instances at the other computing devices so that after synchronization the instances are identical.
When using an instance of the file system at any of the remote computing devices, users may reorganize the file system structure and hierarchy by renaming files and folders, moving files into different folders, deleting or adding files and folders. The user may also edit existing files. When a file or folder within the synchronized folder is updated at any of the synchronized file systems, the update and/or the updated file is replicated to the other synchronized file systems under control of the synchronizing application that may be executing at each computing device. Some synchronizing applications monitor shared files for updates to any of the files being shared so that synchronization can be performed automatically. When synchronizing the changes made by the user at a first remote computing device, the synchronizing application executing at a different computing device generally replicates the modification by deleting from the different computing device old versions of files and folders that correspond to the modified files and folders on the first computing device and recreating the modified files and folders on the different computing device to match the first computing device based on information sent from the remote computing device either directly or indirectly to the different computing device.